import axios from "axios";
import router from "./router";
import Element from "element-ui"

// 前端拦截器

// axios.defaults.baseURL = "http://localhost:8088"

// 创建一个axios对象
const request = axios.create({
    //设置超时时间 单位毫秒
    timeout: 5000,
    headers: {
        'Content-Type': "application/json; charset=utf-8"
    }
})
// 发起请求的时候拦截，给它附带上请求头 jwt
request.interceptors.request.use(config => {
    config.headers['Authorization'] = localStorage.getItem('token')
    return config
})
//后置拦截 处理返回结果
request.interceptors.response.use(response => {

        let res = response.data
        if (res.code == 200) {
            return response
        } else {
            Element.Message.error(res.massage==null ? '操作失败' : res.massage)
            return Promise.reject(res.massage)
        }
    }, error => {
        //data 数据不为空把操作结果信息赋过来
        if (error.response.data) {
            error.massage = error.response.data.massage
        }
        //如果状态码等于 401 就跳到登录页面
        if (error.response.code === 401) {
            router.push('/login')
        }
        Element.Message.error(error.massage, {duration: 3000})
        return Promise.reject(error)
    }
)

export default request